package cx.zan.domain;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Mxb
 * @version 1.0
 * @date 2020/4/1 22:46
 */
//@Data
public class Cart {
    //所有的购物项
    //private List<CartItem> items=new ArrayList<>();
    private Map<String,CartItem> items=new HashMap<>();
    //总金额
    private double total;


    public Map<String,CartItem> getItems() {
        return items;
    }

    public double getTotal() {
        return total;
    }



    //将一个购物项添加到购物车对象中
    public void addItem(CartItem newCartItem){
        //先看看 原来的购物车中是否存在该类商品购物项
        String pid=newCartItem.getProduct().getPid();
        if (items.containsKey(pid)){
            //只需要 在原来的数量加上新添加的 即可b
            CartItem oldItem = items.get(pid);
            oldItem.setCount(oldItem.getCount()+newCartItem.getCount());

        }else{
            items.put(pid,newCartItem);
        }

        //总金额添加一下
        total+=newCartItem.getSubtotal();
    }

    //提供删除购物功能
    public void removeItem(String pid){
        CartItem remove = items.remove(pid);
        total-=remove.getSubtotal();
    }


    //清空购物车
    public void clear(){
        //清空数据就可以了
        items.clear();
        total=0.0;
    }

    //@Override
    //public String toString() {
    //    return "Cart{" +
    //            "items=" + items +
    //            ", total=" + total +
    //            '}';
    //}
}

